package com.lagou.mr.homework;

import org.apache.hadoop.io.WritableComparable;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

/*
* 记录读取到的文件内容的javaBean  ,因为只有一个内容，故这里只有一个变量 num记录读取到的文本内容
* 继承 WritableComparable 重写compareTo方法 升序比较
* 重写write() 实现序列化
* 重写 readFields() 实现反序列化
* */
public class NumBean  implements WritableComparable<NumBean> {
    // 记录读取内容的变量
    private int Num;

//    空参构造方向，序列化需要
    public NumBean() {
    }
//    有参构造方法
    public NumBean(int num) {
        Num = num;
    }


//     实现数字的升序排列
//返回值三种：0 两个相等；1 小于；-1 大于
    @Override
    public int compareTo(NumBean numBean) {
        if (this.Num > numBean.getNum()){
            return 1;
        }else if (this.getNum()<numBean.getNum()){
            return -1;
        }else {
            return 0;
        }
    }

    // 序列化操作
    @Override
    public void write(DataOutput dataOutput) throws IOException {
        dataOutput.writeInt(this.Num);
    }
    // 反序列化操作
    @Override
    public void readFields(DataInput dataInput) throws IOException {
        this.setNum(dataInput.readInt());
    }

    public int getNum() {
        return Num;
    }

    public void setNum(int num) {
        Num = num;
    }

}
